package com.enation.app.javashop.core.member.model.vo;

import com.enation.app.javashop.framework.database.annotation.Column;
import com.enation.app.javashop.framework.database.annotation.Id;
import com.enation.app.javashop.framework.database.annotation.PrimaryKeyField;
import com.enation.app.javashop.framework.database.annotation.Table;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;


/**
 * 发票记录VO
 *
 * @author zh
 * @version v7.0.0
 * @since v7.0.0
 * 2018-05-25 17:34:28
 */
@ApiModel
public class ReceiptVO implements Serializable {
    /**
     * 发票抬头
     */
    @ApiModelProperty(name = "title", value = "发票抬头", required = true)
    @NotEmpty(message = "发票标题不能为空")
    private String title;
    /**
     * 发票内容
     */
    @ApiModelProperty(name = "content", value = "发票内容", required = true)
    @NotEmpty(message = "发票内容不能为空")
    private String content;
    /**
     * 是否为默认
     */
    @ApiModelProperty(name = "is_default", value = "是否为默认,1为默认，0为不默认", required = true)
    @Max(message = "是否为默认发票参数错误,1为默认,0为不默认", value = 1)
    @Min(message = "是否为默认发票参数错误,1为默认,0为不默认", value = 0)
    @NotNull(message = "是否为默认不能为空")
    private Integer isDefault;
    /**
     * 发票税号
     */
    @ApiModelProperty(name = "duty", value = "发票税号", required = false)
    private String duty;
    /**
     * 发票类型
     */
    @ApiModelProperty(name = "type", value = "发票类型,1为单位,0为个人", required = true)
    @Max(message = "发票类型参数错误,1为单位,0为个人", value = 1)
    @Min(message = "发票类型参数错误,1为单位,0为个人", value = 0)
    @NotNull(message = "发票类型不能为空")
    private Integer type;

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getIsDefault() {
        return isDefault;
    }

    public void setIsDefault(Integer isDefault) {
        this.isDefault = isDefault;
    }

    public String getDuty() {
        return duty;
    }

    public void setDuty(String duty) {
        this.duty = duty;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    @Override
    public String toString() {
        return "ReceiptVO{" +
                "title='" + title + '\'' +
                ", content='" + content + '\'' +
                ", isDefault=" + isDefault +
                ", duty='" + duty + '\'' +
                ", type=" + type +
                '}';
    }
}